Sponsored by Deepsite.site

ProviderSignal: Dental Market Intelligence

Created By
Braman Analytics LLC3 days ago
Read-only MCP server for U.S. dental practice intelligence. Four tools cover NPI lookup, multi-field provider search, DSO chain affiliation, and territory market summaries across 41 states plus DC. Authenticate with an API key (Bearer) for subscription pricing, or pay per query via x402 USDC micropayments on Base mainnet. Every response carries a citation envelope with source attribution, snapshot date, and confidence score.
Overview
API

MCP server for U.S. dental provider data

Model Context Protocol endpoint at mcp.providersignal.com. Four read-only tools, citation envelope on every response, two billing rails (Bearer subscription or per-call USDC). Compatible with Claude.ai, Cursor, ChatGPT, and any MCP-aware client.

Endpoint

Streamable HTTP transport per the Model Context Protocol spec. POST JSON-RPC 2.0 messages to:

endpoint
POST https://mcp.providersignal.com/mcp

Discovery manifest (no auth required) at:

manifest
GET https://mcp.providersignal.com/.well-known/mcp.json

MCP protocol version implemented: 2025-06-18. Notifications return HTTP 204; batched JSON-RPC requests are supported.

Tools (4 read-only)

Each MCP tool maps to one path under /api/v1/agent. Every response is wrapped in a citation envelope (see Response Shape).

lookup_provider_by_npi(npi)
forwards to /api/v1/agent/lookup-by-npi

Full provider record by 10-digit NPI. Returns name, taxonomy, practice address, license metadata, DSO flag, OIG-exclusion flag, lat/lon, CMS-claims flag, and a 0-100 confidence score. ~30 fields total.

search_providers({state, city, zip, license_status, page, per_page})
forwards to /api/v1/agent/search

Filtered list with pagination. Filters compose with AND. per_page caps at 100. Returns the same envelope shape as lookup with a compact per-row record array.

get_dso_affiliation(npi)
forwards to /api/v1/agent/dso/affiliation

Dental Service Organization affiliation lookup. Returns the inferred parent brand, signal type (parent_org, multi_location, address_cascade, or shared_phone_org), confidence, cluster size, and a sibling NPI sample.

get_territory_summary({state, zip})
forwards to /api/v1/agent/territory/rollup

Aggregate market intelligence for a geography. Returns total provider count, DSO penetration share, retirement-risk-55-plus count, license-status breakdown, and organization count.

Full input schemas (JSON Schema for every parameter) are served by the tools/list JSON-RPC method. The discovery manifest carries the short-form descriptions only.

Auth and billing

Two billing rails. Pick one based on your agent framework and use case.

Rail 1: Bearer-token subscription (default for MCP today)

Pass an existing ProviderSignal API key on every request:

header
Authorization: Bearer ps_live_<your-key>

Per-call usage rides your subscription tier's rate limit. Pro and Rep tiers cap at 500 req/min. Team and Growth at 200/min. Enterprise tiers run higher. The MCP server also enforces a 60 req/min IP-level limit before any token validation, so anonymous probes never reach the database.

Get a key from your dashboard API keys page.

Rail 2: per-call USDC via x402 (advertised in the manifest)

Skip the subscription and call the underlying endpoints directly at https://providersignal.com/api/v1/agent/*. The first request returns 402 with PaymentRequirements. Sign a USDC transfer on Base mainnet and retry with X-PAYMENT. See /docs/agent-payments for the full flow.

EndpointTierUSD per call
/api/v1/agent/lookup-by-npibasic$0.10
/api/v1/agent/searchbasic$0.25
/api/v1/agent/dso/affiliationmoat$1.00
/api/v1/agent/scoringmoat$1.00
/api/v1/agent/license/events/historicalmoat$1.50
/api/v1/agent/territory/rollupmoat$2.50

Native MCP-side x402 (a 402 challenge inside a tool call) is a v1.1 deferred item. Most MCP clients do not yet implement the tool-call payment-challenge loop. Until they do, the x402 path is reachable outside MCP via the direct /api/v1/agent/* endpoints.

Response shape

Every tool returns a JSON-RPC result with a single content array carrying the citation envelope as text:

Initialize

json-rpc
{

"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": { "protocolVersion": "2025-06-18" } }

List tools

json-rpc
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list" }

Call a tool

json-rpc
{ "jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": { "name": "lookup_provider_by_npi", "arguments": { "npi": "1376155820" } } }

Tool response (truncated)

json-rpc
{ "jsonrpc": "2.0", "id": 3, "result": { "content": [ { "type": "text", "text": "{ &quot;data&quot;: { &quot;npi&quot;: &quot;1376155820&quot;, ... }, &quot;error&quot;: null, &quot;meta&quot;: { &quot;envelope_version&quot;: &quot;1.0&quot;, &quot;source_attribution&quot;: [...], &quot;confidence&quot;: { &quot;provider_record&quot;: { &quot;score&quot;: 66, ... } }, &quot;request&quot;: { &quot;id&quot;: &quot;...&quot;, &quot;billing_method&quot;: &quot;subscription&quot; } } }" } ], "isError": false } }

The envelope inside content[0].text carries:

  • data payload (provider record, search results, or aggregate)
  • meta.source_attribution array. One entry per data table touched, with last_refresh, schema_version, and license posture.
  • meta.confidence.provider_record with a 0-100 score and breakdown (completeness, multi_source, freshness).
  • meta.request with the request id, endpoint, billed_credits, and billing_method (subscription or per_query).

The full field glossary lives at /docs/fields.

Input validation

Tool arguments are validated at the edge before any database call. Validation errors return JSON-RPC -32602 (invalid params) and never burn rate-limit quota or hit Supabase. Defense in depth: the main API re-validates everything server side.

  • npi: /^\d{10}$/
  • state: /^[A-Z]{2}$/
  • zip: /^\d{5}(-\d{4})?$/ (5- or 9-digit)
  • license_status: enum (active, inactive, expired, retired, deceased)
  • page: integer 1 to 10000
  • per_page: integer 1 to 100
  • strings: 200 chars max (city: 80 max)

Rate limits and body cap

Three guard rails:

  • 60 req/min per IP at the MCP edge, enforced by Upstash Redis sliding window. Fires before any auth or parse work, so anonymous probes cost almost nothing.
  • 16 KB body cap via Content-Length. Larger requests return HTTP 413 before parse.
  • Per-key rate limit from your subscription tier (Pro 500/min, Team and Growth 200/min, Enterprise higher). Enforced after key validation.

When you hit a 429 you get a retry_after_seconds hint plus standard X-RateLimit- response headers.

Discovery manifest

The .well-known/mcp.json manifest is the 2026 MCP-discovery convention. MCP-aware clients fetch it on connect and render the results in their connector picker. Our manifest advertises:

  • Server name, version, protocol version
  • Transport: streamable-http at /mcp
  • Primary auth: bearer (link to dashboard for key issuance)
  • alternateBilling block: x402 protocol details, network (Base mainnet eip155:8453), USDC asset, full price ladder, OpenAPI link.
  • Tool list with names and short descriptions
  • Homepage, documentation, contact, license, publisher

Hit it directly:

Connect a client

Claude.ai

  1. Settings, then Connectors, then Add custom connector
  2. URL: https://mcp.providersignal.com/mcp
  3. Bearer token: paste your ps_live_ key
  4. Save

Claude probes the discovery manifest, registers the four tools, and lists them as available actions in any conversation.

Cursor and ChatGPT

Both support custom MCP connectors over HTTP. Use the same URL plus Bearer token through each client's custom-connector interface.

Custom agent code

Open a POST stream to the endpoint with your Bearer header. Send initialize, then tools/list, then tools/call per the MCP spec. JSON-RPC 2.0 batches are supported.

curl
curl -X POST https://mcp.providersignal.com/mcp
-H "Authorization: Bearer ps_live_..."
-H "Content-Type: application/json"
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Server for U.S. Dental Provider Data","description":"Model Context Protocol server with 4 read-only tools wrapping the ProviderSignal /api/v1/agent endpoints. Bearer-token subscription or x402 per-call billing. Citation envelope on every response.","url":"https://providersignal.com/docs/mcp-server","datePublished":"2026-05-02","dateModified":"2026-05-02","inLanguage":"en-US","author":{"@type":"Organization","name":"Braman Analytics LLC","url":"https://providersignal.com"},"publisher":{"@type":"Organization","name":"ProviderSignal","url":"https://providersignal.com","logo":{"@type":"ImageObject","url":"https://providersignal.com/logo/providersignal-icon.svg"}},"about":{"@type":"WebAPI","name":"ProviderSignal API","url":"https://providersignal.com/api-docs","documentation":"https://providersignal.com/api-docs","termsOfService":"https://providersignal.com/terms","provider":{"@type":"Organization","name":"ProviderSignal","url":"https://providersignal.com","logo":{"@type":"ImageObject","url":"https://providersignal.com/logo/providersignal-icon.svg"}}},"proficiencyLevel":"Expert","audience":{"@type":"Audience","audienceType":"Developers, AI agents, API integrators"}}0:{"P":null,"b":"qoklM5wD3TTlUI6PiwgMn","p":"","c":["","docs","mcp-server"],"i":false,"f":[[["",{"children":["docs",{"children":["mcp-server",{"children":["PAGE",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/c0ea88f212814446.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/d46142c48ba41bef.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"__variable_3c557b font-sans __variable_f367f3 __variable_4df21b","suppressHydrationWarning":true,"children":["$","body",null,{"className":"min-h-screen bg-background text-foreground antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["mcp-server",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined""])",["$","$1","c",{"children":[[["$","script",null,{"type":"application/ld+json","children":"$5"}],["$","$L6",null,{}],["$","main",null,{"className":"relative","children":[["$","section",null,{"className":"relative overflow-hidden pt-18 pb-14 hero-bg hero-dark lg:pt-20","id":"top","children":["$L7","$L8"]}],"$L9","$La","$Lb"]}]],null,"$Lc"]}],{},null,false]},null,false]},null,false]},null,false],"$Ld",false]],"m":"$undefined","G":["$e",[]],"s":false,"S":true}\nf:I[52619,["2619","static/chunks/2619-04bc32f026a0d946.js","9372","static/chunks/9372-3c7c3b309443a4ef.js","8961","static/chunks/app/docs/mcp-server/page-94b30c7d4f838635.js"],""]\n20:I[26756,["2619","static/chunks/2619-04bc32f026a0d946.js","9372","static/chunks/9372-3c7c3b309443a4ef.js","8961","static/chunks/app/docs/mcp-server/page-94b30c7d4f838635.js"],"BackToTop"]\n21:I[24431,[],"OutletBoundary"]\n23:I[15278,[],"AsyncMetadataOutlet"]\n25:I[24431,[],"ViewportBoundary"]\n27:I[24431,[],"MetadataBoundary"]\n28:"$Sreact.suspense"\n7:["$","svg",null,{"viewBox":"0 0 1200 320","preserveAspectRatio":"xMidYMid slice","className":"pointer-events-none absolute inset-0 h-full w-full z-0","aria-hidden":"true","style":{"opacity":0.6},"children":[["$","g",null,{"stroke":"#3DD5E8","strokeOpacity":"0.12","strokeWidth":"1","fill":"none","children":[["$","line",null,{"x1":"80","y1":"80","x2":"260","y2":"140"}],["$","line",null,{"x1":"260","y1":"140","x2":"440","y2":"80"}],["$","line",null,{"x1":"440","y1":"80","x2":"600","y2":"180"}],["$","line",null,{"x1":"600","y1":"180","x2":"800","y2":"100"}],["$","line",null,{"x1":"800","y1":"100","x2":"980","y2":"200"}],["$","line",null,{"x1":"980","y1":"200","x2":"1120","y2":"120"}]]}],["$","g",null,{"fill":"#3DD5E8","children":[["$","circle",null,{"cx":"80","cy":"80","r":"2.5"}],["$","circle",null,{"cx":"260","cy":"140","r":"2.5"}],["$","circle",null,{"cx":"440","cy":"80","r":"3"}],["$","circle",null,{"cx":"600","cy":"180","r":"3","style":{"transformBox":"fill-box","transformOrigin":"center","animation":"node-pulse 3s ease-in-out infinite"}}],["$","circle",null,{"cx":"800","cy":"100","r":"2.5"}],["$","circle",null,{"cx":"980","cy":"200","r":"2.5"}],["$","circle",null,{"cx":"1120","cy":"120","r":"2"}]]}]]}]\n8:["$","div",null,{"className":"relative z-[2] mx-auto max-w-[820px] px-4 text-center sm:px-6","children":[["$","span",null,{"className":"mb-5 inline-flex items-center gap-2 rounded-full border border-teal/25 bg-teal/10 px-3 py-1.5 text-xs font-medium tracking-[0.02em] text-teal","children":[["$","span",null,{"className":"dot-pulse h-1.5 w-1.5 rounded-full bg-teal shadow-[0_0_8px_var(--color-teal)]"}],"API"]}],["$","h1",null,{"className":"font-serif-display text-[clamp(36px,5vw,56px)] font-medium leading-[1.05] tracking-[-0.025em] text-balance text-white","children":["MCP server for"," ",["$","span",null,{"className":"text-teal","children":"U.S. dental provider data"}]]}],["$","p",null,{"className":"mx-auto mt-5 max-w-[720px] text-pretty text-[17px] leading-[1.6] text-ink-dim","children":"Model Context Protocol endpoint at mcp.providersignal.com. Four read-only tools, citation envelope on every response, two billing rails (Bearer subscription or per-call USDC). Compatible with Claude.ai, Cursor, ChatGPT, and any MCP-aware client."}],["$","div",null,{"className":"mt-8 flex flex-wrap items-center justify-center gap-3","children":[["$","a",null,{"href":"#connect","className":"inline-flex items-center gap-2 rounded-full bg-gradient-to-b from-[color-mix(in_srgb,var(--color-teal)_100%,white_4%)] to-teal-deep px-6 py-3 text-[14px] font-semibold text-navy shadow-[0_1px_0_color-mix(in_srgb,white_25%,transparent)inset,0_6px_18px-4px_color-mix(in_srgb,var(--color-teal)40%,transparent)] transition hover:-translate-y-px hover:shadow-[0_10px_36px-6px_color-mix(in_srgb,var(--color-teal)_55%,transparent),0_0_0_6px_color-mix(in_srgb,var(--color-teal)_15%,transparent)]","children":"Connect from Claude.ai"}],["$","a",null,{"href":"/docs/agent-payments","className":"inline-flex items"]) manifest (no auth required) at:"}]\n12:["$","div",null,{"children":["$undefined",["$","div",null,{"className":"bg-white/[0.03] rounded-lg p-4 font-mono text-xs text-white/75 overflow-x-auto scrollbar-thin-teal whitespace-pre leading-relaxed","children":[["$","div",null,{"className":"text-[10px] text-white/30 uppercase mb-2","children":"manifest"}],"GET https://mcp.providersignal.com/.well-known/mcp.json"]}]]}]\n13:["$","p",null,{"children":["MCP protocol version implemented:"," ",["$","code",null,{"className":"text-white/80 bg-white/[0.06] px-1.5 py-0.5 rounded text-sm font-mono","children":"2025-06-18"}],". Notifications return HTTP 204; batched JSON-RPC requests are supported."]}]\n14:["$","div",null,{"id":"tools","className":"section-card bg-navy-light/90 rounded-xl sm:rounded-2xl border border-white/[0.04] px-4 py-6 sm:px-6 sm:py-8 lg:px-12 lg:py-10 scroll-mt-24","children":[["$","div",null,{"className":"card-noise"}],["$","h2",null,{"className":"relative text-xl sm:text-2xl font-semibold tracking-[-0.02em] text-white mb-5 sm:mb-6","children":"Tools (4 read-only)"}],["$","div",null,{"className":"relative","children":["$","div",null,{"className":"space-y-4 text-white/75 leading-relaxed","children":[["$","p",null,{"children":["Each MCP tool maps to one path under"," ",["$","code",null,{"className":"text-white/80 bg-white/[0.06] px-1.5 py-0.5 rounded text-sm font-mono","children":"/api/v1/agent"}],". Every response is wrapped in a citation envelope (see"," ",["$","a",null,{"href":"#response-shape","className":"text-teal hover:underline","children":"Response Shape"}],")."]}],["$","div",null,{"className":"space-y-4","children":[["$","div","lookup_provider_by_npi(npi)",{"className":"rounded-lg border border-white/[0.04] bg-white/[0.02] p-4","children":[["$","div",null,{"className":"font-mono text-[13px] text-teal break-all","children":"lookup_provider_by_npi(npi)"}],["$","div",null,{"className":"mt-1 text-xs text-white/45 font-mono","children":["forwards to ","/api/v1/agent/lookup-by-npi"]}],["$","p",null,{"className":"mt-3 text-sm text-white/70 leading-relaxed","children":"Full provider record by 10-digit NPI. Returns name, taxonomy, practice address, license metadata, DSO flag, OIG-exclusion flag, lat/lon, CMS-claims flag, and a 0-100 confidence score. ~30 fields total."}]]}],["$","div","search_providers({state, city, zip, license_status, page, per_page})",{"className":"rounded-lg border border-white/[0.04] bg-white/[0.02] p-4","children":[["$","div",null,{"className":"font-mono text-[13px] text-teal break-all","children":"search_providers({state, city, zip, license_status, page, per_page})"}],["$","div",null,{"className":"mt-1 text-xs text-white/45 font-mono","children":["forwards to ","/api/v1/agent/search"]}],["$","p",null,{"className":"mt-3 text-sm text-white/70 leading-relaxed","children":"Filtered list with pagination. Filters compose with AND. per_page caps at 100. Returns the same envelope shape as lookup with a compact per-row record array."}]]}],["$","div","get_dso_affiliation(npi)",{"className":"rounded-lg border border-white/[0.04] "])\u003cyour-key\u003e"]}]]}],["$","p",null,{"children":"Per-call usage rides your subscription tier's rate limit. Pro and Rep tiers cap at 500 req/min. Team and Growth at 200/min. Enterprise tiers run higher. The MCP server also enforces a 60 req/min IP-level limit before any token validation, so anonymous probes never reach the database."}],["$","p",null,{"children":["Get a key from your"," ",["$","$Lf",null,{"href":"/settings/api-keys","className":"text-teal hover:underline","children":"dashboard API keys page"}],"."]}],["$","h3",null,{"className":"text-base font-semibold text-white pt-2","children":"Rail 2: per-call USDC via x402 (advertised in the manifest)"}],["$","p",null,{"children":["Skip the subscription and call the underlying endpoints directly at"," ",["$","code",null,{"className":"text-white/80 bg-white/[0.06] px-1.5 py-0.5 rounded text-sm font-mono","children":"https://providersignal.com/api/v1/agent/"}],". The first request returns 402 with"," ",["$","code",null,{"className":"text-white/80 bg-white/[0.06] px-1.5 py-0.5 rounded text-sm font-mono","children":"PaymentRequirements"}],". Sign a USDC transfer on Base mainnet and retry with"," ",["$","code",null,{"className":"text-white/80 bg-white/[0.06] px-1.5 py-0.5 rounded text-sm font-mono","children":"X-PAYMENT"}],". See"," ",["$","$Lf",null,{"href""]) bg-navy-light/90 rounded-xl sm:rounded-2xl border border-white/[0.04] px-4 py-6 sm:px-6 sm:py-8 lg:px-12 lg:py-10 scroll-mt-24","children":[["$","div",null,{"className":"card-noise"}],["$","h2",null,{"className":"relative text-xl sm:text-2xl font-semibold tracking-[-0.02em] text-white mb-5 sm:mb-6","children":"Connect a client"}],["$","div",null,{"className":"relative","children":["$","div",null,{"className":"space-y-5 text-white/75 leading-relaxed","children":[["$","h3",null,{"className":"text-base font-semibold text-white","children":"Claude.ai"}],["$","ol",null,{"className":"list-decimal pl-6 space-y-1.5","children":[["$","li",null,{"children":"Settings, then Connectors, then Add custom connector"}],["$","li",null,{"children":["URL:"," ",["$","code",null,{"className":"text-white/80 bg-white/[0.06] px-1.5 py-0.5 rounded text-sm font-mono","children":"https://mcp.providersignal.com/mcp"}]]}],["$","li",null,{"children":["Bearer token: paste your"," ",["$","code","])"}]," ","key"]}],["$","li",null,{"children":"Save"}]]}],["$","p",null,{"children":"Claude probes the discovery manifest, registers the four tools, and lists them as available actions in any conversation."}],["$","h3",null,{"className":"text-base font-semibold text-white pt-2","children":"Cursor and ChatGPT"}],["$","p",null,{"children":"Both support custom MCP connectors over HTTP. Use the same URL plus Bearer token through each client's custom-connector interface."}],["$","h3",null,{"className":"text-base font-semibold text-white pt-2","children":"Custom agent code"}],["$","p",null,{"children":["Open a POST stream to the endpoint with your Bearer header. Send"," ",["$","code",null,{"className":"text-white/80 bg-white/[0.06] px-1.5 py-0.5 rounded text-sm font-mono","children":"initialize"}],", then"," ",["$","code",null,{"className":"text-white/80 bg-white/[0.06] px-1.5 py-0.5 rounded text-sm font-mono","children":"tools/list"}],", then"," ",["$","code",null,{"className":"text-white/80 bg-white/[0.06] px-1.5 py-0.5 rounded text-sm font-mono","children":"tools/call"}]," ","per the MCP spec. JSON-RPC 2.0 batches are supported."]}],["$","div",null,{"children":["$undefined",["$","div",null,{"className":"bg-white/[0.03] rounded-lg p-4 font-mono text-xs text-white/75 overflow-x-auto scrollbar-thin-teal whitespace-pre leading-relaxed","children":[["$","div",null,{"className":"text-[10px] text-white/30 uppercase mb-2","children":"curl"}],"curl -X POST https://mcp.providersignal.com/mcp \\\n -H \"Authorization: Bearer ps_live...\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/list\"}'"]}]]}]]}]}]]}]\n1b:["$","div",null,{"id":"references","className":"section-card bg-navy-light/90 rounded-xl sm:rounded-2xl border border-white/[0.04] px-4 py-6 sm:px-6 sm:py-8 lg:px-12 lg:py-10 scroll-mt-24","children":[["$","div",null,{"className":"card-noise"}],["$","h2",null,{"className":"relative text-xl sm:text-2xl font-semibold tracking-[-0.02em] text-white mb-5 sm:mb-6","children":"References"}],["$","div",null,{"className":"relative","children":["$","div",null,{"className":"space-y-3 text-white/75 leading-relaxed","children":["$","ul",null,{"className":"list-disc pl-6 space-y-1.5","children":[["$","li",null,{"children":["$","$Lf",null,{"href":"/docs/agent-payments","className":"text-teal hover:underline","children":"Agent payments via x402 + USDC"}]}],["$","li",null,{"children":["$","$Lf",null,{"href":"/docs/free-tier","className":"text-teal hover:underline","children":"Free evaluation tier (100 lookups per day, no auth)"}]}],["$","li",null,{"children":["$","$Lf",null,{"href":"/docs/fields","className":"text-teal hover:underline","children":"Field glossary and stability commitment"}]}],["$","li",null,{"children":["$","$Lf",null,{"href":"/api-docs","className":"text-teal hover:underline","children":"Full REST API reference"}]}],["$","li",null,{"children":["$","a",null,{"href":"/openapi.json","className":"text-teal hover:underline","children":"OpenAPI 3.1 spec"}]}],["$","li",null,{"children":["$","a",null,{"href":"https://modelcontextprotocol.io","className":"text-teal hover:underline","target":"_blank","rel":"noreferrer","children":"Model Context Protocol spec"}]}],["$","li",null,{"children":["$","a",null,{"href":"https://x402.org","className":"text-teal hover:underline","target":"_blank","rel":"noreferrer","children":"x402 protocol spec"}]}]]}]}]}]]}]\n1c:["$","li","Supply Reps",{"children":["$","$Lf",null,{"href":"/use-cases/dental-supply-reps","className":"text-[13px] text-ink-dim transition-colors hover:text-teal","children":"Supply Reps"}]}]\n1d:["$","li","Glossary",{"children":["$","$Lf",null,{"href":"/glossary","className":"text-[13px] text-ink-dim transition-colors hover:text-teal","children":"Glossary"}]}]\n1e:["$","div",null,{"children":[["$","h4",null,{"className":"mb-4 text-[11px] font-semibold uppercase tracking-[0.15em] text-ink-faint","children":"Company"}],["$","ul""])","className":"font-mono transition-colors hover:text-teal","children":"support@providersignal.com"}]]}],["$","div",null,{"className":"flex flex-wrap items-center gap-x-2 gap-y-1","children":[["$","$Lf",null,{"href":"/privacy","className":"transition-colors hover:text-teal","children":"Privacy"}],["$","span",null,{"className":"text-white/20","children":"·"}],["$","$Lf",null,{"href":"/terms","className":"transition-colors hover:text-teal","children":"Terms"}],["$","span",null,{"className":"text-white/20","children":"·"}],["$","span",null,{"children":"Providersignal.com"}],["$","span",null,{"className":"text-white/20","children":"·"}],["$","span",null,{"children":"built in Texas"}]]}]]}]\n2a:["$","td",null,{"className":"py-2 text-right text-white/75","children":"$$0.25"}]\n2b:["$","tr","/api/v1/agent/dso/affiliation",{"className":"border-b border-white/[0.02] font-mono text-[13px]","children":[["$","td",null,{"className":"py-2 pr-4 text-white/70","children":"/api/v1/agent/dso/affiliation"}],["$","td",null,{"className":"py-2 pr-4","children":["$","span",null,{"className":"inline-flex items-center rounded-full border px-2 py-0.5 text-[10px] font-mono uppercase tracking-wide border-teal/30 bg-teal/[0.10] text-teal","children":"moat"}]}],["$","td",null,{"className":"py-2 text-right text-white/75","children":"$$1.00"}]]}]\n2c:["$","tr","/api/v1/agent/scoring",{"className":"border-b border-white/[0.02] font-mono text-[13px]","children":[["$","td",null,{"className":"py-2 pr-4 text-white/70","children":"/api/v1/agent/scoring"}],["$","td",null,{"className":"py-2 pr-4","children":["$","span",null,{"className":"inline-flex items-center rounded-full border px-2 py-0.5 text-[10px] font-mono uppercase tracking-wide border-teal/30 bg-teal/[0.10] text-teal","children":"moat"}]}],["$","td",null,{"className":"py-2 text-right text-white/75","children":"$$1.00"}]]}]\n2d:["$","tr","/api/v1/agent/license/events/historical",{"className":"border-b border-white/[0.02] font-mono text-[13px]","children":[["$","td",null,{"className":"py-2 pr-4 text-white/70","children":"/api/v1/agent/license/events/historical"}],["$","td",null,{"className":"py-2 pr-4","children":["$","span",null,{"className":"inline-flex items-center rounded-full border px-2 py-0.5 text-[10px] font-mono uppercase tracking-wide border-teal/30 bg-teal/[0.10] text-teal","children":"moat"}]}],["$","td",null,{"className":"py-2 text-right text-white/75","children":"$$1.50"}]]}]\n2e:["$","tr","/api/v1/agent/territory/rollup",{"className":"border-b border-white/[0.02] font-mono text-[13px]","children":[["$","td",null,{"className":"py-2 pr-4 text-white/70","children":"/api/v1/agent/territory/rollup"}],["$","td",null,{"className":"py-2 pr-4","children":["$","span",null,{"className":"inline-flex items-center rounded-full border px-2 py-0.5 text-[10px] font-mono uppercase tracking-wide border-teal/30 bg-teal/[0.10] text-teal","children":"moat"}]}],["$","td",null,{"className":"p"])"}]," ","endpoints."]}]\n30:["$","li",null,{"children":[["$","code",null,{"className":"text-white/80 bg-white/[0.06] px-1.5 py-0.5 rounded text-sm font-mono","children":"meta.source_attribution"}]," ","array. One entry per data table touched, with"," ",["$","code",null,{"className":"text-white/80 bg-white/[0.06] px-1.5 py-0.5 rounded text-sm font-mono","children":"last_refresh"}],","," ",["$","code",null,{"className":"text-white/80 bg-white/[0.06] px-1.5 py-0.5 rounded text-sm font-mono","children":"schema_version"}],", and license posture."]}]\n31:["$","li",null,{"children":[["$","code",null,{"className":"text-white/80 bg-white/[0.06] px-1.5 py-0.5 rounded text-sm font-mono","children":"meta.confidence.provider_record"}]," ","with a 0-100 score and breakdown (completeness, multi_source, freshness)."]}]\n32:["$","li",null,{"children":[["$","code",null,{"className":"text-white/80 bg-white/[0.06] px-1.5 py-0.5 rounded text-sm font-mono","children":"meta.request"}]," ","with the request id, endpoint, billed_credits, and billing_method (subscription or per_query)."]}]\n33:["$","p",null,{"children":["The full field glossary lives at"," ",["$","$Lf",null,{"href":"/docs/fields","className":"text-teal hover:underline","children":"/docs/fields"}],"."]}]\n"]) | Healthcare Market Intelligence"}],["$","meta","10",{"name":"twitter:description","content":"Track every dental practice in America. License alerts, market density, practice profiles."}],["$","link","11",{"rel":"icon","href":"/logo/providersignal-favicon.svg"}],["$","link","12",{"rel":"apple-touch-icon","href":"/logo/providersignal-favicon.svg"}],["$","$L34","13",{}]],"error":null,"digest":"$undefined"}\n29:"$24:metadata"\n"])

Server Config

{
  "mcpServers": {
    "providersignal": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.providersignal.com",
        "--header",
        "Authorization: Bearer ${PROVIDERSIGNAL_API_KEY}"
      ],
      "env": {
        "PROVIDERSIGNAL_API_KEY": "<YOUR_PS_LIVE_KEY>"
      }
    }
  }
}
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
Serper MCP ServerA Serper MCP Server
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
WindsurfThe new purpose-built IDE to harness magic
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright McpPlaywright MCP server
RedisA Model Context Protocol server that provides access to Redis databases. This server enables LLMs to interact with Redis key-value stores through a set of standardized tools.
CursorThe AI Code Editor
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
Y GuiA web-based graphical interface for AI chat interactions with support for multiple AI models and MCP (Model Context Protocol) servers.
DeepChatYour AI Partner on Desktop
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
ChatWiseThe second fastest AI chatbot™
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
Amap Maps高德地图官方 MCP Server
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
Tavily Mcp